﻿var ns, toast, actionsheet,superFile,imageBrowser, UIAlbumBrowser;
var app = new Vue({
    el: '#app',
    data: {
        chooseType:1,
        show:false,
        showup:false,
        writeCount:0,//输入的文字数量
        examine_writenum:0,//审批原因字数
        wenjianlist:[],
        imgindex: 0,
        img_count: 0,
        select_imglist: [],
        select_imgindex: 0,
        maxuploadcount: CONFIG.maxuploadcount,
        outTypemsg:[],
        tdTitle:'',//审批标题
        tdMoney:0,//申请金额
        tdRemark:'',//审批原因
        VisitType:'',//审批类型ID
        VisitTypeName:'',//审批类型
        Remark:'',//申请说明
        ApprovalUserID: [],//审核人
        SendUserIDs: [],//抄送人
        fileList:[],//文件id
        select_id_list:[],//选中的抄送人员(多选)
        choose_id_list:[],//选中的审批人员(单选)
        fileID:1,
        activeIndex:0,
    },
    methods: {
        // 选择类型
        do_choose_type:function(){
            var that=this;
            that.show=true;
        },
        get_outTypemsg: function () {
            var that = this;
            var options = {};
            options.action = 'loadtsealbasic';
            ns.post(options, function (succeed, data, err) {
                if (succeed) {
                    if (data.status) {
                        console.log(JSON.stringify(data.tongyong_list));
                        that.outTypemsg =that.syncChildID2String(data.tongyong_list);
                        if(data.tongyong_list.length>0){
                            that.VisitType = data.tongyong_list[0].ID;
                            that.VisitTypeName = data.tongyong_list[0].Name;
                        }
                    }
                } else {
                    api.toast({
                        msg: err,
                        duration: 2000,
                        location: 'bottom'
                    });
                }
            });
        },
        syncChildID2String:function(e) {
            e.map(res => {
                if (res.children.length > 0) {
                    this.syncChildID2String(res.children)
                } else {
                    delete res.children
                }
                res.value=res.ID + ""
                res.id = res.id + ""
                res.ID = res.ID + ""
                return res
            })
            return e
        },
        onFinish:function({ selectedOptions }){
            var that=this;
            that.show = false;
            var Typetext= selectedOptions.map((option) => option.text).join('/');
            var i = Typetext.lastIndexOf('/');
            var j = Typetext.length;
            that.VisitTypeName= Typetext.slice(i + 1, j);
        },
        // 选择类型
        doSelectRoom:function(item){
            var that=this;
            that.show=false;
            that.VisitType=item.ID;
            that.VisitTypeName=item.Name;
        },
        //原因限制字数
        writeMsg:function(){
            var that=this;
            var testVal = that.tdRemark.length;
            that.writeCount=testVal;
        },
        //审批申请限制字数
        examine_writeMsg:function(){
            var that=this;
            that.examine_writenum = that.Remark.length;
        },

         //上传附件
         do_openUp:function(){
            var that=this;
            that.showup=true;
        },
        //上传图片
        add_picture: function () {
            var that = this;
            that.showup=false;
            ns.confirmPer('camera', function () {
                that.choose_picture_start();
            })
        },
        choose_picture_start: function () {
            var that = this;
            if (that.wenjianlist.length >= that.maxuploadcount) {
                api.toast({
                    msg: '最多支持' + that.maxuploadcount + '张图片',
                    duration: 2000,
                    location: 'bottom'
                });
                return;
            }
            UIAlbumBrowser.imagePicker({
                max: that.maxuploadcount - that.wenjianlist.length,
                styles: {
                    bg: '#000000',
                    mark: {
                        position: 'top_right',
                        size: 20
                    },
                    nav: {
                        bg: '#000000',
                        cancelColor: '#fff',
                        cancelSize: 16,
                        nextStepColor: '#7fff00',
                        nextStepSize: 16
                    },
                    thumbnail: { //（可选项）返回的缩略图配置，**建议本图片不要设置过大** 若已有缩略图，则使用已有的缩略图。若要重新生成缩略图，可先调用清除缓存接口api.clearCache()。
                        w: 100, //（可选项）数字类型；返回的缩略图的宽；默认：原图的宽度
                        h: 100 //（可选项）数字类型；返回的缩略图的宽；默认：原图的高度
                    }
                },
                animation: true,
            }, function (ret) {
                if (ret.eventType == 'nextStep') {
                    if (ret.list && ret.list.length > 0) {
                        that.select_imglist = ret.list;
                        that.select_imgindex = 0;
                        that.UIAlbumBrowser_transPath();
                    }
                    UIAlbumBrowser.closePicker();
                }
                if (ret.originalPath && ret.originalPath.length > 0) {

                    var list=[];
                    list.push({
                            url: ret.originalPath,
                        });
                    const params = {
                        action: "uploadfileone",
                    }
                    ns.post(params, function (succeed, data, err) {
                        if (succeed) {
                            // that.file.ID = data.file.ID;
                            // that.file.CredentialName = data.file.FileName;
                            // that.file.CredentialUrl = data.file.FullPath;
                            that.wenjianlist.push(data.file);
                            // that.file.TypeName= data.file.ContentType;
                        }
                    }, {
                        files: {
                            file: list[0].url
                        }
                    })
                    that.imgindex++;
                }
            });
            return;
        },
        UIAlbumBrowser_transPath: function () {
            var that = this;
            var item = that.select_imglist[that.select_imgindex];
            UIAlbumBrowser.transPath({
                path: item.path
            }, function (ret, err) {
                if (ret) {
                    that.select_imgindex++;
                    if (that.select_imgindex < that.select_imglist.length) {
                        that.UIAlbumBrowser_transPath();
                    } else {
                        that.select_imgindex = 0;
                    }
                    var list=[];
                    list.push({
                            url: ret.path,
                        });
                    const params = {
                        action: "uploadfileone",
                    }
                    ns.post(params, function (succeed, data, err) {
                        if (succeed) {
                            // that.file.ID = data.file.ID;
                            // that.file.CredentialName = data.file.FileName;
                            // that.file.CredentialUrl = data.file.FullPath;
                            that.wenjianlist.push(data.file);
                            // that.file.TypeName= data.file.ContentType;
                            // console.log(JSON.stringify(that.wenjianlist));
                        }
                    }, {
                        files: {
                            file: list[0].url
                        }
                    })
                    that.imgindex++;
                }
            });
        },
        //上传文件
        add_wenjian: function () {
            var that = this;
            that.showup=false;
            fileBrowser.open({
                confirm: true
            }, function (ret) {
                fileBrowser.close();
                if (ret && ret.status) {
                    const url = ret.url || ""
                    const params = {
                        action: "fileupload",
                    }
                    ns.post(params, function (succeed, data, err) {
                        if (succeed) {
                            // that.file.ID = data.imgs[0].ID;
                            // that.file.CredentialName = data.imgs[0].FileName;
                            // that.file.CredentialUrl = data.imgs[0].FilePath;
                            that.wenjianlist.push(data.imgs[0]);
                            // var i = that.file.CredentialName.lastIndexOf('.');
                            // var j = that.file.CredentialName.length;
                            // that.file.TypeName= that.file.CredentialName.slice(i + 1, j);
                        }
                    }, {
                        files: {
                            file: [url]
                        }
                    })
                    return;
                }
                return false;
            });
        },
        add_vedio: function () {
            var that = this;
            that.showup = false;
            ns.confirmPer('camera', function () {
                that.choose_video_start();
            })
        },
        choose_video_start: function () {
            var that = this;
            UIAlbumBrowser.open({
                max: 9,
                type: "video",
                styles: {
                    bg: '#fff',
                    mark: {
                        icon: '',
                        position: 'bottom_left',
                        size: 20
                    },
                    nav: {
                        bg: 'rgba(0,0,0,0.6)',
                        titleColor: '#fff',
                        titleSize: 18,
                        cancelColor: '#fff',
                        cancelSize: 16,
                        finishColor: '#fff',
                        finishSize: 16
                    }
                },
                rotation: true
            }, function (ret) {
                if (ret) {
                    if (ret.eventType = 'confirm') {
                        if (ret.list && ret.list.length > 0) {
                            that.select_imglist = ret.list;
                            that.select_imgindex = 0;
                            that.UIAlbumBrowser_transPath();
                        }
                    }
                }
            });
        },
        open_flie: function (item,index) {
            var that = this;
            var i = item.FileName.lastIndexOf('.');
            var j = item.FileName.length;
            var nameType= item.FileName.slice(i + 1, j);
            if(nameType=='png'||nameType=='jpg'||nameType=='tif'||nameType=='gif'){
                that.img_browser(item.FilePath);
            }else if (nameType == 'mp4') {
                that.open_video(item);
            }
            else{
                that.do_openFile(item);
            }
            
        },
        // 播放视频
        open_video: function (item) {
            var that = this;
            var module = api.require('easyVideoPlayer');
            var param = {
                msg: item.FilePath
            };
            api.download({
                url: item.FilePath,
                savePath: 'fs://app/' + item.FileName,
                report: true,
                cache: true,
                allowResume: true
            }, function (ret, err) {
                if (ret.state == 1) {
                    module.playVideo(param);
                }
            })
        },
        img_browser: function(imgurl) {
            var that = this;
            var imgurls = [];
            imgurls.push(imgurl);
            imageBrowser.openImages({
                imageUrls: imgurls,
                showList: false,
                activeIndex: 0
            });
        },
        do_openFile:function(item){
            api.download({
                url: item.FilePath,
                savePath: 'fs://app/' + item.FileName,
                report: true,
                cache: true,
                allowResume: true
            }, function (ret, err) {
                if (ret.state == 1) {
                    if (api.systemType == 'ios') {
                        superFile.open({
                            path: ret.savePath,
                        })
                    }
                    if (api.systemType == "android") {
                        superFile.open({
                            path:ret.savePath,
                        })
                    }
                }
            })
        },
        //删除文件
        do_delete: function (id) {
            var that=this;
            that.wenjianlist = that.wenjianlist.filter((item) => {
                return item.ID != id
            });
        },


        //提交
        do_save:function(){
            var that = this;
            var SendUserIDs = [];

            if (that.VisitTypeName == "") {
                api.toast({
                    msg: '请选择审批类型',
                    duration: 2000,
                    location: 'bottom'
                });
                return;
            }
            if (that.tdTitle=='') {
                api.toast({
                    msg: '请填写审批标题',
                    duration: 2000,
                    location: 'bottom'
                });
                return;
            }
            if (that.tdRemark=='') {
                api.toast({
                    msg: '请填写审批原因',
                    duration: 2000,
                    location: 'bottom'
                });
                return;
            }
            if (that.choose_id_list.length <= 0) {
                api.toast({
                    msg: '请选择审批人',
                    duration: 2000,
                    location: 'bottom'
                });
                return;
            }
            
            for (var i = 0; i < that.wenjianlist.length; i++) {
                var item = that.wenjianlist[i].ID;
                that.fileList.push(item);
            }
            for (var i = 0; i < that.choose_id_list.length; i++) {
                var item = that.choose_id_list[i].UserID;
                that.ApprovalUserID.push(item);
            }

            for (var i = 0; i < that.select_id_list.length; i++) {
                var item = that.select_id_list[i].UserID;
                SendUserIDs.push(item);
            }
            that.SendUserIDs = JSON.stringify(SendUserIDs);

            var options={};
            options.ApprovalUserID=JSON.stringify(that.ApprovalUserID);
            options.SendUserIDs=that.SendUserIDs;
            options.Type=2;
            options.tdSealBasics=that.VisitType;
            options.tdTitle=that.tdTitle;
            options.tdMoney=that.tdMoney;
            options.tdRemark=that.tdRemark;
            options.Remark=that.Remark;
            options.fileList=JSON.stringify(that.fileList);
            options.action='savasealapplication';
            ns.post(options, function (succeed, data, err) {
                if (succeed) {
                    api.toast({
                        msg: '提交成功',
                        duration: 2000,
                        location: 'bottom'
                    });
                    api.sendEvent({
                        name: 'purchase_updata',
                    });
                    api.sendEvent({
                        name:'reloadexaminelist'
                    })
                    setTimeout(() => {
                        api.closeWin();
                    }, 400);
                } else if (err) {
                    api.toast({
                        msg: err,
                        duration: 2000,
                        location: 'bottom'
                    });
                }
            });
        },
        //查看全部人员
        open_more:function(type){
            var that=this;
            //审批全部
            if(type==1){
                ns.openWin('examine_Allperson', '全部审核人员', {
                    list: that.choose_id_list,
                    type:type,
                 }); 
            }else if(type==0){
                ns.openWin('examine_Allperson', '全部抄送人员', {
                    list: that.select_id_list,
                    type:type,
                 }); 
            }
        },

        //选择人
        choose_persons: function(IsApproval) {
            var that = this;
            that.chooseType=IsApproval;
            // IsApproval==0//抄送
            if(IsApproval==0){
                // ns.openWin('chooseperson_frm', '请选择', {
                //         source: 'transfer',
                // }); 
                ns.openWin('chooseuser_frm', '请选择抄送人', {
                    source: 'transfer',
            }); 
            }
            //IsApproval==1//审批
            if(IsApproval==1){
                // ns.openWin('chooseperson_frm', '请选择' , {
                //     source: 'transfer',
                // }); 
                ns.openWin('chooseuser_frm', '请选择审批人' , {
                    source: 'transfer',
                }); 
            }
               
        },
        //移除抄送人
        guanbi_pic:function(id,IsApproval){
            var that=this;
            that.chooseType=IsApproval;
            if(that.chooseType==1){
                // that.choose_id_list.splice(index,1);
                that.choose_id_list = that.choose_id_list.filter((item) => {
                    return item.UserID != id
                    });
            }
            if(that.chooseType==0){
                // that.select_id_list.splice(index,1);
                that.select_id_list = that.select_id_list.filter((item) => {
                    return item.UserID != id
                    });
            }
            
        },
        // 抄送人
        select_person:function(select_list,type){
            var that=this;
            if(type==0){
                for (var i = 0; i < select_list.length; i++) {
                    var item = select_list[i];
                    that.select_id_list.push(item);
                }
            }else{
                for (var i = 0; i < select_list.length; i++) {
                    var item = select_list[i];
                    that.choose_id_list.push(item);
                }
            }
            
            let obj = {};
            if(type==0){
                let peon = that.select_id_list.reduce((cur,next) => {
                    obj[next.UserID] ? "" : obj[next.UserID] = true && cur.push(next);
                    return cur;
                },[]) ;
                that.select_id_list=peon;
            }else{
                let peon = that.choose_id_list.reduce((cur,next) => {
                    obj[next.UserID] ? "" : obj[next.UserID] = true && cur.push(next);
                    return cur;
                },[]) ;
                that.choose_id_list=peon;
            }
           
        }

        

    }
});

apiready = function () {
    api.parseTapmode();
    ns = window.Foresight.Util;
    toast = new auiToast();
    actionsheet = new auiActionsheet();
    UIAlbumBrowser = api.require('UIAlbumBrowser');
    imageBrowser = api.require('imageBrowser');
    fileBrowser = api.require('fileBrowser');
    superFile = api.require('superFile');
    if (api.systemType == "android") {
        superFile.init(function(ret){});
    }
    app.get_outTypemsg();
    api.addEventListener({
        name: 'purchase_add'
    }, function (ret) {
        if( app.chooseType==1){
            var chooselist=ret.value.data;
            app.select_person(chooselist,1);
            // app.choose_id_list=ret.value.data;
        }
        if( app.chooseType==0){
            var select_list=ret.value.data;
            app.select_person(select_list,0);
        }

    })
    api.addEventListener({
        name: 'purchase_update'
    }, function (ret) {
        if( ret.value.type==1){
            app.choose_id_list=ret.value.data;
        }
        if( ret.value.type==0){
            app.select_id_list=ret.value.data;
        }

    })

    api.addEventListener({
        name: 'do_open_neibubaoshi'
    }, function (ret, err) {
        ns.openWin('purchase_list', '申请记录');
    });

};
